package weixinkeji.dev.power.role.h;

import weixinkeji.dev.power.role.bean.SysRole;
import sys.wx.c.ATR;
import sys.wx.c.components.cv.CV;
import sys.wx.ann.hm.H;
import sys.wx.ann.hm.M;
import sys.wx.ann.power.head.GL;
import sys.wx.m.db.dao.mysql.Dao;
import weixinkeji.dev.power.center.so.URPSO;

/**
 *
 * @author IK
 */
@H("weixinkeji/dev/power/role/sysrole/adu")
@GL
public class SysRoleADU {
//weixinkeji/dev/power/role/sysrole/adu/add.imy
//weixinkeji/dev/power/role/sysrole/adu/dell.imy
//weixinkeji/dev/power/role/sysrole/adu/update.imy

    ATR a;                  //ATR是必须要的。它封装了web请求的相关信息

    public SysRoleADU(ATR obj) {     //这个有参构造函数，也是必须的。它进行附值
        this.a = obj;
    }

    @M("/add")
    public String a1() {
        SysRole obj = CV.getObject_Add(SysRole.class, a.request, new weixinkeji.dev.power.role.check.Check().doSysRole(false));
        if (null == obj) {
            a.out_OK_NO(false, "您提交的数据存在格式问题。请注意数据字符的输入");
            return null;
        }
        a.out_OK_NO(Dao.add(obj));
        return null;
    }

    @M("/dell")
    public String d() {
        String id = a.request.getParameter("id");
        if (id.length() < 26) {
            return null;
        }
        if (new URPSO().checkRolesHasUses(id)) {
            a.out_OK_NO(false, "删除失败，该角色已经被用户使用。请先解除用户继承的角色后，再删除。");
            return null;
        }
        a.out_OK_NO(Dao.dell_vast(SysRole.class, id));
        return null;
    }

    @M("/update")
    public String u() {
        return null != a.request.getParameter("id") ? select1(a.request.getParameter("id")) : update();
    }

    private String select1(String x) {
        a.request.setAttribute("SYSROLE", Dao.selectOneByID(SysRole.class, x));
        return "/power/sysrole/sysrole_U.jsp";
    }

    private String update() {
        SysRole obj = CV.getObject(SysRole.class, a.request, new weixinkeji.dev.power.role.check.Check().doSysRole(true));
        if (null == obj) {
            a.out_OK_NO(false, "您提交的数据存在格式问题。请注意数据字符的输入");
            return null;
        }
        a.out_OK_NO(Dao.update(obj));
        //a.out_OK_NO(Dao.updateReject(obj, "cdate"));
        //a.out_OK_NO(Dao.updateAlloy(obj, "cdate"));
        return null;
    }
}
